package com.hz.web.controller;


import java.text.ParseException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONObject;
import com.hz.web.entity.CompanyEntity;
import com.hz.web.service.IcompanyService;


/**
 * 企业信息控制层
 * @author Administrator
 *
 */
@Controller
@RequestMapping("company")
public class CompanyController {

	@Resource
	private IcompanyService companyService;
	
	/**
	 * 修改企业信息
	 * @param entity 企业信息实体类
	 * @return JSONObject
	 */
	@RequestMapping("updateCompany")
	@ResponseBody
	public JSONObject updateCompany(CompanyEntity entity){
		JSONObject json = new JSONObject();
		int row = -1;
		try {
			row = companyService.updateCompany(entity);
		} catch (Exception e) {
			e.printStackTrace();
		}
		json.put("row", row);
		return json;
	}
	
	
	/**
	 * 增加企业信息
	 * @param entity 企业信息实体类
	 * @return JSONObject
	 */
	@RequestMapping("addCompany")
	@ResponseBody
	public JSONObject addCompany(CompanyEntity entity){
		JSONObject json = new JSONObject();
		int row = -1;
		try {
			row = companyService.addCompany(entity);
		} catch (Exception e) {
			e.printStackTrace();
		}
		json.put("row", row);
		return json;
	}
	
	/**
	 * 查询企业信息
	 * @param sysId 主键
	 * @param companyName 企业名称
	 * @param commitmentCode  承诺编码
	 * @param companyCommitmentTime 企业签订承诺书书时间
	 * @param isDel 1启用 2 删除
	 * @param signature 承诺书上的签字（企业或者负责人签字）
	 * @param isTotal 是否查询总条数  no 不查询  null或者其他的都是查询
	 * @param page 分页功能（当前页）
	 * @param rows 分页功能（每页显示的条数）
	 * @return JSONObject
	 */
	@RequestMapping("queryCompany")
	@ResponseBody
	public JSONObject queryCompany(String sysId, String companyName,
			String commitmentCode, String companyCommitmentTime, String isDel,
			String signature,String isTotal,Integer page,Integer rows) {
		JSONObject json = new JSONObject();
		Map<String, Object> parmsMap = new HashMap<String, Object>();
		parmsMap.put("sysId", sysId);
		parmsMap.put("companyName", companyName);
		parmsMap.put("commitmentCode", commitmentCode);
		parmsMap.put("companyCommitmentTime", companyCommitmentTime);
		parmsMap.put("isDel", isDel);
		parmsMap.put("signature", signature);
		//是否查询总条数
		if(page !=null && rows !=null && rows !=0){
			int index = (page-1)*rows;
			int count  = rows;
			parmsMap.put("index", index);
			parmsMap.put("count", count);
			if(isTotal ==null || !"no".equals(isTotal)){
				int total = companyService.queryCompanyCount(parmsMap);
				json.put("total", total);
			}
		}
		List<CompanyEntity> list = companyService.queryCompany(parmsMap);
		json.put("rows", list);
		return json;
	}
	
	/**
	 * 解析excle
	 * @param url  excle名称
	 * @param request
	 * @return
	 * @throws ParseException
	 */
	@RequestMapping("fileLoadExcle")
	@ResponseBody
	public Map<String, Object> fileLoadExcle(String url, String commitmentCode,
			String departmentCode, HttpServletRequest request)
			throws ParseException {
		Map<String, Object> resultMap = new HashMap<String, Object>();
		resultMap = companyService.fileLoadExcle(url, commitmentCode,departmentCode,request);
		return resultMap;
	}
}
